// pages/paihao/paihao.js
const db = wx.cloud.database()
const _ = db.command
const app = getApp()
Page({

  /**
   * 页面的初始数据
   */
  data: {
    p_number: 0,
    p_number_list: [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    console.log('日期', app.getCurrentYMD())
  },
  //选中就餐人数
  chooseY(e) {
    console.log(e.currentTarget)
    this.setData({
      p_number: e.currentTarget.dataset.item,
    })
  },

  //点击排小桌
  paihaoSmall() {
    this.paihao(1)
  },
  //点击排大桌
  paihaoBig() {
    this.paihao(2)
  },
  //排号的方法
  paihao(type) {
    let p_number = this.data.p_number
    if (p_number <= 0) {
      wx.showToast({
        icon: 'error',
        title: '请选择就餐人数',
      })
      return
    }
    if (type == 1 && p_number > 4) { //小桌
      wx.showToast({
        icon: 'error',
        title: '建议选择大桌',
      })
      return
    }
    if (type == 2 && p_number < 5) { //大桌
      wx.showToast({
        icon: 'error',
        title: '建议选择小桌',
      })
      return
    }
    let id = app.getCurrentYMD()
    let date = app.getCurrentYMDStr()
    // 添加数据之前要查询是否有数据
    db.collection('paihao')
      .doc(id).get()
      .then(res => {
        console.log('查询今日是否有排号', res)
        if (res.data && res.data._id) { //有值做更新操作，
          wx.cloud.callFunction({
            name: 'paihao',
            data: {
              action: 'user',
              id: app.getCurrentYMD(),
              type: type,
            }
          }).then(res => {
            console.log('排号等位更新的结果', res)
            this.getNum()
          })
        }
      })
      .catch(res => { //没值的时候添加
        console.log('查询的数据不存在', res)
        let dataObj = {
          _id: id,
          date: date,
          xiaozhuonum: 0,
          dazhuonum: 0,
        }
        if (type == 1) {
          dataObj.paihaoSmall = [app.globalData.openid]
        } else {
          dataObj.paihaoBig = [app.globalData.openid]
        }
        //添加排号等位数据，用时间date作为一条数据的主键
        db.collection('paihao')
          .add({
            data: dataObj,
          }).then(res => {
            console.log('排号等位添加的结果', res)
            this.getNum()
          })
      })
  },

  // 获取当前排号
  getNum() {
    db.collection('paihao').doc(app.getCurrentYMD()).get()
      .then(res => {
        console.log('今日排号数据', res)
        let item = res.data
        if (item && item._id) {
          let dazhuo = item.paihaoBig
          let xiaozhuo = item.paihaoSmall
          // let dazhuonum = res.data.paihaoBig.lastIndexOf(userid) + 1
          // let xiaozhuonum = res.data.paihaoSmall.lastIndexOf(userid) + 1
          //console.log('当前用户的号码', xiaozhuonum)
          this.setData({
            xiaozhuonum: xiaozhuo ? xiaozhuo.lastIndexOf(app.globalData.openid) + 1 : 0,
            dazhuonum: dazhuo ? dazhuo.lastIndexOf(app.globalData.openid) + 1 : 0,
            xiaozhuoDangQian: item.xiaozhuonum,
            dazhuoDangQian: item.dazhuonum,
          })
        }
      })
      .catch(res => {
        console.log('今日没有排号', res)
      })
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {
    console.log('日期', app.getCurrentYMD())
    this.getNum()
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})